package com.wallet.entity.example;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ArticleExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ArticleExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andTimestampIsNull() {
            addCriterion("timestamp is null");
            return (Criteria) this;
        }

        public Criteria andTimestampIsNotNull() {
            addCriterion("timestamp is not null");
            return (Criteria) this;
        }

        public Criteria andTimestampEqualTo(Date value) {
            addCriterion("timestamp =", value, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampNotEqualTo(Date value) {
            addCriterion("timestamp <>", value, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampGreaterThan(Date value) {
            addCriterion("timestamp >", value, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampGreaterThanOrEqualTo(Date value) {
            addCriterion("timestamp >=", value, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampLessThan(Date value) {
            addCriterion("timestamp <", value, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampLessThanOrEqualTo(Date value) {
            addCriterion("timestamp <=", value, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampIn(List<Date> values) {
            addCriterion("timestamp in", values, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampNotIn(List<Date> values) {
            addCriterion("timestamp not in", values, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampBetween(Date value1, Date value2) {
            addCriterion("timestamp between", value1, value2, "timestamp");
            return (Criteria) this;
        }

        public Criteria andTimestampNotBetween(Date value1, Date value2) {
            addCriterion("timestamp not between", value1, value2, "timestamp");
            return (Criteria) this;
        }

        public Criteria andAuthorIsNull() {
            addCriterion("author is null");
            return (Criteria) this;
        }

        public Criteria andAuthorIsNotNull() {
            addCriterion("author is not null");
            return (Criteria) this;
        }

        public Criteria andAuthorEqualTo(String value) {
            addCriterion("author =", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorNotEqualTo(String value) {
            addCriterion("author <>", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorGreaterThan(String value) {
            addCriterion("author >", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorGreaterThanOrEqualTo(String value) {
            addCriterion("author >=", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorLessThan(String value) {
            addCriterion("author <", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorLessThanOrEqualTo(String value) {
            addCriterion("author <=", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorLike(String value) {
            addCriterion("author like", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorNotLike(String value) {
            addCriterion("author not like", value, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorIn(List<String> values) {
            addCriterion("author in", values, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorNotIn(List<String> values) {
            addCriterion("author not in", values, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorBetween(String value1, String value2) {
            addCriterion("author between", value1, value2, "author");
            return (Criteria) this;
        }

        public Criteria andAuthorNotBetween(String value1, String value2) {
            addCriterion("author not between", value1, value2, "author");
            return (Criteria) this;
        }

        public Criteria andReviewerIsNull() {
            addCriterion("reviewer is null");
            return (Criteria) this;
        }

        public Criteria andReviewerIsNotNull() {
            addCriterion("reviewer is not null");
            return (Criteria) this;
        }

        public Criteria andReviewerEqualTo(String value) {
            addCriterion("reviewer =", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerNotEqualTo(String value) {
            addCriterion("reviewer <>", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerGreaterThan(String value) {
            addCriterion("reviewer >", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerGreaterThanOrEqualTo(String value) {
            addCriterion("reviewer >=", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerLessThan(String value) {
            addCriterion("reviewer <", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerLessThanOrEqualTo(String value) {
            addCriterion("reviewer <=", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerLike(String value) {
            addCriterion("reviewer like", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerNotLike(String value) {
            addCriterion("reviewer not like", value, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerIn(List<String> values) {
            addCriterion("reviewer in", values, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerNotIn(List<String> values) {
            addCriterion("reviewer not in", values, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerBetween(String value1, String value2) {
            addCriterion("reviewer between", value1, value2, "reviewer");
            return (Criteria) this;
        }

        public Criteria andReviewerNotBetween(String value1, String value2) {
            addCriterion("reviewer not between", value1, value2, "reviewer");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("title =", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion("title <>", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("title >", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion("title >=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion("title <", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion("title <=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLike(String value) {
            addCriterion("title like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotLike(String value) {
            addCriterion("title not like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleIn(List<String> values) {
            addCriterion("title in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotIn(List<String> values) {
            addCriterion("title not in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion("title between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion("title not between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andContentShortIsNull() {
            addCriterion("content_short is null");
            return (Criteria) this;
        }

        public Criteria andContentShortIsNotNull() {
            addCriterion("content_short is not null");
            return (Criteria) this;
        }

        public Criteria andContentShortEqualTo(String value) {
            addCriterion("content_short =", value, "contentShort");
            return (Criteria) this;
        }

        public Criteria andContentShortNotEqualTo(String value) {
            addCriterion("content_short <>", value, "contentShort");
            return (Criteria) this;
        }

        public Criteria andContentShortGreaterThan(String value) {
            addCriterion("content_short >", value, "contentShort");
            return (Criteria) this;
        }

        public Criteria andContentShortGreaterThanOrEqualTo(String value) {
            addCriterion("content_short >=", value, "contentShort");
            return (Criteria) this;
        }

        public Criteria andContentShortLessThan(String value) {
            addCriterion("content_short <", value, "contentShort");
            return (Criteria) this;
        }

        public Criteria andContentShortLessThanOrEqualTo(String value) {
            addCriterion("content_short <=", value, "contentShort");
            return (Criteria) this;
        }

        public Criteria andContentShortLike(String value) {
            addCriterion("content_short like", value, "contentShort");
            return (Criteria) this;
        }

        public Criteria andContentShortNotLike(String value) {
            addCriterion("content_short not like", value, "contentShort");
            return (Criteria) this;
        }

        public Criteria andContentShortIn(List<String> values) {
            addCriterion("content_short in", values, "contentShort");
            return (Criteria) this;
        }

        public Criteria andContentShortNotIn(List<String> values) {
            addCriterion("content_short not in", values, "contentShort");
            return (Criteria) this;
        }

        public Criteria andContentShortBetween(String value1, String value2) {
            addCriterion("content_short between", value1, value2, "contentShort");
            return (Criteria) this;
        }

        public Criteria andContentShortNotBetween(String value1, String value2) {
            addCriterion("content_short not between", value1, value2, "contentShort");
            return (Criteria) this;
        }

        public Criteria andForecastIsNull() {
            addCriterion("forecast is null");
            return (Criteria) this;
        }

        public Criteria andForecastIsNotNull() {
            addCriterion("forecast is not null");
            return (Criteria) this;
        }

        public Criteria andForecastEqualTo(BigDecimal value) {
            addCriterion("forecast =", value, "forecast");
            return (Criteria) this;
        }

        public Criteria andForecastNotEqualTo(BigDecimal value) {
            addCriterion("forecast <>", value, "forecast");
            return (Criteria) this;
        }

        public Criteria andForecastGreaterThan(BigDecimal value) {
            addCriterion("forecast >", value, "forecast");
            return (Criteria) this;
        }

        public Criteria andForecastGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("forecast >=", value, "forecast");
            return (Criteria) this;
        }

        public Criteria andForecastLessThan(BigDecimal value) {
            addCriterion("forecast <", value, "forecast");
            return (Criteria) this;
        }

        public Criteria andForecastLessThanOrEqualTo(BigDecimal value) {
            addCriterion("forecast <=", value, "forecast");
            return (Criteria) this;
        }

        public Criteria andForecastIn(List<BigDecimal> values) {
            addCriterion("forecast in", values, "forecast");
            return (Criteria) this;
        }

        public Criteria andForecastNotIn(List<BigDecimal> values) {
            addCriterion("forecast not in", values, "forecast");
            return (Criteria) this;
        }

        public Criteria andForecastBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("forecast between", value1, value2, "forecast");
            return (Criteria) this;
        }

        public Criteria andForecastNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("forecast not between", value1, value2, "forecast");
            return (Criteria) this;
        }

        public Criteria andImportanceIsNull() {
            addCriterion("importance is null");
            return (Criteria) this;
        }

        public Criteria andImportanceIsNotNull() {
            addCriterion("importance is not null");
            return (Criteria) this;
        }

        public Criteria andImportanceEqualTo(Integer value) {
            addCriterion("importance =", value, "importance");
            return (Criteria) this;
        }

        public Criteria andImportanceNotEqualTo(Integer value) {
            addCriterion("importance <>", value, "importance");
            return (Criteria) this;
        }

        public Criteria andImportanceGreaterThan(Integer value) {
            addCriterion("importance >", value, "importance");
            return (Criteria) this;
        }

        public Criteria andImportanceGreaterThanOrEqualTo(Integer value) {
            addCriterion("importance >=", value, "importance");
            return (Criteria) this;
        }

        public Criteria andImportanceLessThan(Integer value) {
            addCriterion("importance <", value, "importance");
            return (Criteria) this;
        }

        public Criteria andImportanceLessThanOrEqualTo(Integer value) {
            addCriterion("importance <=", value, "importance");
            return (Criteria) this;
        }

        public Criteria andImportanceIn(List<Integer> values) {
            addCriterion("importance in", values, "importance");
            return (Criteria) this;
        }

        public Criteria andImportanceNotIn(List<Integer> values) {
            addCriterion("importance not in", values, "importance");
            return (Criteria) this;
        }

        public Criteria andImportanceBetween(Integer value1, Integer value2) {
            addCriterion("importance between", value1, value2, "importance");
            return (Criteria) this;
        }

        public Criteria andImportanceNotBetween(Integer value1, Integer value2) {
            addCriterion("importance not between", value1, value2, "importance");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("type is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("type is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(String value) {
            addCriterion("type =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(String value) {
            addCriterion("type <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(String value) {
            addCriterion("type >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(String value) {
            addCriterion("type >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(String value) {
            addCriterion("type <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(String value) {
            addCriterion("type <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLike(String value) {
            addCriterion("type like", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotLike(String value) {
            addCriterion("type not like", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<String> values) {
            addCriterion("type in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<String> values) {
            addCriterion("type not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(String value1, String value2) {
            addCriterion("type between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(String value1, String value2) {
            addCriterion("type not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andDisplayTimeIsNull() {
            addCriterion("display_time is null");
            return (Criteria) this;
        }

        public Criteria andDisplayTimeIsNotNull() {
            addCriterion("display_time is not null");
            return (Criteria) this;
        }

        public Criteria andDisplayTimeEqualTo(Date value) {
            addCriterion("display_time =", value, "display_time");
            return (Criteria) this;
        }

        public Criteria andDisplayTimeNotEqualTo(Date value) {
            addCriterion("display_time <>", value, "display_time");
            return (Criteria) this;
        }

        public Criteria andDisplayTimeGreaterThan(Date value) {
            addCriterion("display_time >", value, "display_time");
            return (Criteria) this;
        }

        public Criteria andDisplayTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("display_time >=", value, "display_time");
            return (Criteria) this;
        }

        public Criteria andDisplayTimeLessThan(Date value) {
            addCriterion("display_time <", value, "display_time");
            return (Criteria) this;
        }

        public Criteria andDisplayTimeLessThanOrEqualTo(Date value) {
            addCriterion("display_time <=", value, "display_time");
            return (Criteria) this;
        }

        public Criteria andDisplayTimeIn(List<Date> values) {
            addCriterion("display_time in", values, "display_time");
            return (Criteria) this;
        }

        public Criteria andDisplayTimeNotIn(List<Date> values) {
            addCriterion("display_time not in", values, "display_time");
            return (Criteria) this;
        }

        public Criteria andDisplayTimeBetween(Date value1, Date value2) {
            addCriterion("display_time between", value1, value2, "display_time");
            return (Criteria) this;
        }

        public Criteria andDisplayTimeNotBetween(Date value1, Date value2) {
            addCriterion("display_time not between", value1, value2, "display_time");
            return (Criteria) this;
        }

        public Criteria andCommentDisabledIsNull() {
            addCriterion("comment_disabled is null");
            return (Criteria) this;
        }

        public Criteria andCommentDisabledIsNotNull() {
            addCriterion("comment_disabled is not null");
            return (Criteria) this;
        }

        public Criteria andCommentDisabledEqualTo(Boolean value) {
            addCriterion("comment_disabled =", value, "comment_disabled");
            return (Criteria) this;
        }

        public Criteria andCommentDisabledNotEqualTo(Boolean value) {
            addCriterion("comment_disabled <>", value, "comment_disabled");
            return (Criteria) this;
        }

        public Criteria andCommentDisabledGreaterThan(Boolean value) {
            addCriterion("comment_disabled >", value, "comment_disabled");
            return (Criteria) this;
        }

        public Criteria andCommentDisabledGreaterThanOrEqualTo(Boolean value) {
            addCriterion("comment_disabled >=", value, "comment_disabled");
            return (Criteria) this;
        }

        public Criteria andCommentDisabledLessThan(Boolean value) {
            addCriterion("comment_disabled <", value, "comment_disabled");
            return (Criteria) this;
        }

        public Criteria andCommentDisabledLessThanOrEqualTo(Boolean value) {
            addCriterion("comment_disabled <=", value, "comment_disabled");
            return (Criteria) this;
        }

        public Criteria andCommentDisabledIn(List<Boolean> values) {
            addCriterion("comment_disabled in", values, "comment_disabled");
            return (Criteria) this;
        }

        public Criteria andCommentDisabledNotIn(List<Boolean> values) {
            addCriterion("comment_disabled not in", values, "comment_disabled");
            return (Criteria) this;
        }

        public Criteria andCommentDisabledBetween(Boolean value1, Boolean value2) {
            addCriterion("comment_disabled between", value1, value2, "comment_disabled");
            return (Criteria) this;
        }

        public Criteria andCommentDisabledNotBetween(Boolean value1, Boolean value2) {
            addCriterion("comment_disabled not between", value1, value2, "comment_disabled");
            return (Criteria) this;
        }

        public Criteria andPageviewsIsNull() {
            addCriterion("pageviews is null");
            return (Criteria) this;
        }

        public Criteria andPageviewsIsNotNull() {
            addCriterion("pageviews is not null");
            return (Criteria) this;
        }

        public Criteria andPageviewsEqualTo(Integer value) {
            addCriterion("pageviews =", value, "pageviews");
            return (Criteria) this;
        }

        public Criteria andPageviewsNotEqualTo(Integer value) {
            addCriterion("pageviews <>", value, "pageviews");
            return (Criteria) this;
        }

        public Criteria andPageviewsGreaterThan(Integer value) {
            addCriterion("pageviews >", value, "pageviews");
            return (Criteria) this;
        }

        public Criteria andPageviewsGreaterThanOrEqualTo(Integer value) {
            addCriterion("pageviews >=", value, "pageviews");
            return (Criteria) this;
        }

        public Criteria andPageviewsLessThan(Integer value) {
            addCriterion("pageviews <", value, "pageviews");
            return (Criteria) this;
        }

        public Criteria andPageviewsLessThanOrEqualTo(Integer value) {
            addCriterion("pageviews <=", value, "pageviews");
            return (Criteria) this;
        }

        public Criteria andPageviewsIn(List<Integer> values) {
            addCriterion("pageviews in", values, "pageviews");
            return (Criteria) this;
        }

        public Criteria andPageviewsNotIn(List<Integer> values) {
            addCriterion("pageviews not in", values, "pageviews");
            return (Criteria) this;
        }

        public Criteria andPageviewsBetween(Integer value1, Integer value2) {
            addCriterion("pageviews between", value1, value2, "pageviews");
            return (Criteria) this;
        }

        public Criteria andPageviewsNotBetween(Integer value1, Integer value2) {
            addCriterion("pageviews not between", value1, value2, "pageviews");
            return (Criteria) this;
        }

        public Criteria andImageUriIsNull() {
            addCriterion("image_uri is null");
            return (Criteria) this;
        }

        public Criteria andImageUriIsNotNull() {
            addCriterion("image_uri is not null");
            return (Criteria) this;
        }

        public Criteria andImageUriEqualTo(String value) {
            addCriterion("image_uri =", value, "image_uri");
            return (Criteria) this;
        }

        public Criteria andImageUriNotEqualTo(String value) {
            addCriterion("image_uri <>", value, "image_uri");
            return (Criteria) this;
        }

        public Criteria andImageUriGreaterThan(String value) {
            addCriterion("image_uri >", value, "image_uri");
            return (Criteria) this;
        }

        public Criteria andImageUriGreaterThanOrEqualTo(String value) {
            addCriterion("image_uri >=", value, "image_uri");
            return (Criteria) this;
        }

        public Criteria andImageUriLessThan(String value) {
            addCriterion("image_uri <", value, "image_uri");
            return (Criteria) this;
        }

        public Criteria andImageUriLessThanOrEqualTo(String value) {
            addCriterion("image_uri <=", value, "image_uri");
            return (Criteria) this;
        }

        public Criteria andImageUriLike(String value) {
            addCriterion("image_uri like", value, "image_uri");
            return (Criteria) this;
        }

        public Criteria andImageUriNotLike(String value) {
            addCriterion("image_uri not like", value, "image_uri");
            return (Criteria) this;
        }

        public Criteria andImageUriIn(List<String> values) {
            addCriterion("image_uri in", values, "image_uri");
            return (Criteria) this;
        }

        public Criteria andImageUriNotIn(List<String> values) {
            addCriterion("image_uri not in", values, "image_uri");
            return (Criteria) this;
        }

        public Criteria andImageUriBetween(String value1, String value2) {
            addCriterion("image_uri between", value1, value2, "image_uri");
            return (Criteria) this;
        }

        public Criteria andImageUriNotBetween(String value1, String value2) {
            addCriterion("image_uri not between", value1, value2, "image_uri");
            return (Criteria) this;
        }

        public Criteria andPlatformsIsNull() {
            addCriterion("platforms is null");
            return (Criteria) this;
        }

        public Criteria andPlatformsIsNotNull() {
            addCriterion("platforms is not null");
            return (Criteria) this;
        }

        public Criteria andPlatformsEqualTo(String value) {
            addCriterion("platforms =", value, "platforms");
            return (Criteria) this;
        }

        public Criteria andPlatformsNotEqualTo(String value) {
            addCriterion("platforms <>", value, "platforms");
            return (Criteria) this;
        }

        public Criteria andPlatformsGreaterThan(String value) {
            addCriterion("platforms >", value, "platforms");
            return (Criteria) this;
        }

        public Criteria andPlatformsGreaterThanOrEqualTo(String value) {
            addCriterion("platforms >=", value, "platforms");
            return (Criteria) this;
        }

        public Criteria andPlatformsLessThan(String value) {
            addCriterion("platforms <", value, "platforms");
            return (Criteria) this;
        }

        public Criteria andPlatformsLessThanOrEqualTo(String value) {
            addCriterion("platforms <=", value, "platforms");
            return (Criteria) this;
        }

        public Criteria andPlatformsLike(String value) {
            addCriterion("platforms like", value, "platforms");
            return (Criteria) this;
        }

        public Criteria andPlatformsNotLike(String value) {
            addCriterion("platforms not like", value, "platforms");
            return (Criteria) this;
        }

        public Criteria andPlatformsIn(List<String> values) {
            addCriterion("platforms in", values, "platforms");
            return (Criteria) this;
        }

        public Criteria andPlatformsNotIn(List<String> values) {
            addCriterion("platforms not in", values, "platforms");
            return (Criteria) this;
        }

        public Criteria andPlatformsBetween(String value1, String value2) {
            addCriterion("platforms between", value1, value2, "platforms");
            return (Criteria) this;
        }

        public Criteria andPlatformsNotBetween(String value1, String value2) {
            addCriterion("platforms not between", value1, value2, "platforms");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}